//#define _CRT_SECURE_NO_WARNINGS
//#include <stdlib.h>
//#include<cstdbool>
//
//
//struct TreeNode
//    {
//        int val;
//        struct TreeNode* left;
//        struct TreeNode* right;
//        
//    };
//
//int maxDepth(struct TreeNode* root)
//{
//    if (root == NULL)
//    {
//        return 0;
//    }
//    int leftdepth = maxDepth(root->left);
//    int rightdepth = maxDepth(root->right);
//    return leftdepth > rightdepth ? leftdepth + 1 : rightdepth + 1;
//}
//bool isBalanced(struct TreeNode* root)
//{
//    if (root == NULL)
//        return true;
//
//    int leftdepth = maxDepth(root->left);
//    int rightdepth = maxDepth(root->right);
//
//    return abs(leftdepth - rightdepth) < 2
//        && isBalanced(root->left)
//        && isBalanced(root->right);
//
//}